:root,
[data-bs-theme=light] {
    --bs-blue: #2c8ef8;
    --bs-indigo: #727cf5;
    --bs-purple: #6b5eae;
    --bs-pink: #ff679b;
    --bs-red: #fa5c7c;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc35a;
    --bs-green: #0acf97;
    --bs-teal: #02a8b5;
    --bs-cyan: #39afd1;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #020202;
    --bs-gray-100: #f4f7f9;
    --bs-gray-200: #e2e8ee;
    --bs-gray-300: #dee6ed;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #020202;
    --bs-gray-900: #212529;
    --bs-primary: #3f80ea;
    --bs-primary-subtle: #84aef2;
    --bs-secondary: #6c757d;
    --bs-success: #0acf97;
    --bs-info: #1f9bcf;
    --bs-warning: #ffc35a;
    --bs-danger: #fa5c7c;
    --bs-light: #eff2f6;
    --bs-dark: #293042;
    --bs-body-color: #293042;
    --bs-body-color-rgb: 108, 117, 125;
    --bs-body-bg: #f7f9fc;
    --bs-body-bg-rgb: 247, 249, 252;
    --bs-emphasis-color: #495057;
    --bs-emphasis-color-rgb: 73, 80, 87;
    --bs-secondary-color: hsla(208, 7%, 46%, .75);
    --bs-secondary-color-rgb: 108, 117, 125;
    --bs-secondary-bg: #fff;
    --bs-secondary-bg-rgb: 255, 255, 255;

    --bs-primary-rgb: 63, 128, 234;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 10, 207, 151;
    --bs-info-rgb: 31, 155, 207;
    --bs-warning-rgb: 255, 195, 90;
    --bs-danger-rgb: 250, 92, 124;
    --bs-light-rgb: 238, 242, 247;
    --bs-dark-rgb: 49, 58, 70;
}

body {
    font-size: .875rem;
}

.collapse {
    visibility: inherit;
}

.row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.3125rem;
}

.form-select {
    padding: .3125rem 2.25rem .3125rem .75rem;
}

.form-control {
    padding: .3125rem .75rem;
}

html[data-sidebar-theme=colored] {
    --theme-bg: #3d74f2;
    --theme-color: #fff;
    --bs-body-bg: #f5f8fa;
}

a {
    text-decoration: inherit;
    cursor: pointer;
}

.arc {
    position: relative;
}

.arc::before,
.arc::after {
    content: '';
    position: fixed;
    top: var(--bs-header-height);
    left: var(--bs-sidebar-width);
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}

.arc::before {
    width: 16px;
    height: 16px;
    background-color: var(--theme-bg);
    overflow: hidden;
}

.arc::after {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    z-index: 1;
    background-color: var(--bs-body-bg);
}

/* 布局结构 */
.layout {
    --bs-sidebar-width: 200px;
    --bs-header-height: 60px;
}

.header {
    position: sticky;
    top: 0;
    z-index: 1050;
    height: var(--bs-header-height);
    transition: transform 0.3s ease;
    background-color: var(--theme-bg);
}

.header .navbar-nav .nav-item {
    margin: 0 .25rem;
    ;
}

.header .navbar-nav .nav-link.active {
    background-color: #1751cf;
    border-radius: .25rem;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}

.layout-main {
    min-height: calc(100vh - var(--bs-header-height));
}

.wrapper {
    display: flex;
    flex-direction: row;
    -webkit-font-smoothing: antialiased;
}

.sidebar {
    width: var(--bs-sidebar-width);
    height: calc(100vh);
    position: sticky;
    top: 0;
    margin-top: calc(var(--bs-header-height) * -1);
    background-color: var(--theme-bg);
}

.main {
    height: 100%;
    width: calc(100% - var(--bs-sidebar-width));
}

.sidebar-brand {
    display: flex;
    min-height: var(--bs-header-height);
    margin-bottom: 16px;
    padding: 12px 24px 12px 24px;
}

/* 侧边菜单 */
.menu {
    font-size: .875rem;
    color: var(--theme-color);
    --theme-bg-active: #1751cf;
    --theme-submenu-bg: #2762ea;
}

.menu .nav {}

.menu .submenu {
    padding: 0;
}

.menu>.nav>li a.nav-link {
    color: currentColor;
}

.menu .nav-link {
    display: flex;
    align-items: center;
    line-height: 21px;
    transition: background-color .3s linear, color .3s linear;
}

.menu .nav-link.active {
    background-color: var(--theme-bg-active);
}

.menu .submenu {
    background-color: var(--theme-submenu-bg);
}

.menu .nav-link .arrow {
    transition: transform 0.3s linear;
}

.nav-link.collapsed>.arrow {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
}

.menu-icon {
    display: inline-block;
    min-width: 26px;
    font-size: 20px;
    text-align: center;
}

.menu-text {
    width: 100%;
    text-align: start;
    margin-left: 12px;
    margin-inline-start: 12px;
    margin-inline-end: unset;
    letter-spacing: 0;
}

.dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    background-color: var(--theme-color);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    vertical-align: middle;
}

.menu-icon .dot {
    margin-left: 1rem;
}

.navbar-brand,
.header .nav-link {
    color: var(--theme-color);
}

.navbar-brand:focus,
.navbar-brand:hover,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: var(--theme-color);
}

.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: #eef2f7;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.02);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    border-color: var(--bs-table-border-color);
    margin-bottom: 1rem;
    vertical-align: middle;
    width: 100%;
    font-size: .875rem;
}

.card {
    --bs-card-spacer-y: 1.25rem;
    --bs-card-spacer-x: 1.25rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: var(--bs-emphasis-color);
    --bs-card-subtitle-color: ;
    --bs-card-border-width: 0;
    --bs-card-border-color: transparent;
    --bs-card-border-radius: .5rem;
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: var(--bs-card-border-radius);
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1.25rem;
    --bs-card-cap-bg: var(--bs-white);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-white);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 12px;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #eef2f7;
    color: var(--bs-body-color);
    display: flex;
    flex-direction: column;
    /* margin-bottom: 1rem; */
    height: var(--bs-card-height);
    min-width: 0;
    position: relative;
    word-wrap: break-word;
    background-clip: border-box;
    background-color: var(--bs-card-bg);
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
    box-shadow: 0 0 .875rem 0 rgba(41, 48, 66, .05);
}

.card.card-borderless {
    --bs-card-border-width: 0px;
}

.card.card-borderless .card-header {
    padding-bottom: 0;
}

.list-group {
    --bs-list-group-bg: var(--bs-white);
    --bs-list-group-border-color: #eef2f7;
    ;
}

.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.nav-pages {
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
    width: 100%;
}

.table-page-info {
    display: flex;
    align-items: center;
}

.pagination {
    margin: 0;
    flex: 1 1 auto;
    --bs-pagination-bg: var(--bs-white);
    --bs-pagination-color: var(--bs-body-color);
}

.page-link {
    margin: 4px;
    border-radius: 4px;
    border: none;
    line-height: normal;
}

.searchbar .form-group {
    display: inline-flex;
    margin-bottom: .75rem;
    margin-right: 1rem;
}

.form-group {
    align-items: center;
}

.form-group .form-label {
    margin-right: .5rem;
    margin-bottom: 0;
    white-space: nowrap;
    color: var(--bs-gray-600);
}

.form-control,
.form-select {
    background-color: var(--bs-secondary-bg);
}

.searchbar {
    margin-bottom: .5rem;
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #eff2f6;
    --bs-btn-border-color: #eff2f6;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #cbced1;
    --bs-btn-hover-border-color: #bfc2c5;
    --bs-btn-focus-shadow-rgb: 203, 206, 209;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #bfc2c5;
    --bs-btn-active-border-color: #b3b6b9;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #eff2f6;
    --bs-btn-disabled-border-color: #eff2f6;
}

.table-layout {
    width: 100%;
}

.table-layout th,
.table-layout td {
    font-weight: normal;
    padding: .5rem;
    vertical-align: middle;
}

.input-position {
    position: relative;
}

.input-position .form-control {
    padding-right: 2.5rem;
}

.input-right-text {
    position: absolute;
    top: 0;
    right: .5rem;
    height: 100%;
    display: flex;
    align-items: center;
}

.form-group {
    margin-bottom: 1rem;
    ;
}

.action {
    margin-top: -1rem;
    margin-bottom: -1rem;
}

.text-blue {
    color: var(--bs-blue);
}

.text-indigo {
    color: var(--bs-indigo);
}

.text-purple {
    color: var(--bs-purple);
}

.text-pink {
    color: var(--bs-pink);
}

.text-red {
    color: var(--bs-red);
}

.text-orange {
    color: var(--bs-orange);
}

.text-yellow {
    color: var(--bs-yellow);
}

.text-green {
    color: var(--bs-green);
}

.text-teal {
    color: var(--bs-teal);
}

.text-cyan {
    color: var(--bs-cyan);
}

.chart-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* 暂无数据 */
.msg {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: rgba(0, 0, 0, .4);
}

.msg__icon {}

.msg__icon i {
    font-size: 3rem;
}

.msg__info {
    margin-top: .5rem;
}

.msg__desc {}

/* 列表进度 */
.rate {
    border: 1px solid rgba(0, 0, 0, .1);
}

.rate__num {
    font-size: small;
    text-align: center;
    line-height: 1;
    background-color: rgba(0, 0, 0, .05);
}

.rate__bar {
    height: 10px;
    background-color: var(--bs-success);
}

/*separator横线*/
.separator {
    display: block;
    height: 0;
    border-bottom: 1px solid var(--bs-border-color)
}

.separator.separator-dotted {
    border-bottom-style: dotted;
    border-bottom-color: var(--bs-border-dashed-color)
}

.separator.separator-dashed {
    border-bottom-style: dashed;
    border-bottom-color: var(--bs-border-dashed-color)
}

.separator.separator-content {
    display: flex;
    align-items: center;
    border-bottom: 0;
    text-align: center
}

.separator.separator-content::after,
.separator.separator-content::before {
    content: " ";
    width: 50%;
    border-bottom: 1px solid var(--bs-border-color)
}

.separator.separator-content::before {
    margin-right: 1.25rem
}

.separator.separator-content::after {
    margin-left: 1.25rem
}

.separator.separator-content.separator-dotted::after,
.separator.separator-content.separator-dotted::before {
    border-bottom-style: dotted;
    border-bottom-color: var(--bs-border-dashed-color)
}

.separator.separator-content.separator-dashed::after,
.separator.separator-content.separator-dashed::before {
    border-bottom-style: dashed;
    border-bottom-color: var(--bs-border-dashed-color)
}

.separator.separator-content.border-light::after,
.separator.separator-content.border-light::before {
    border-color: #f9f9f9 !important
}

.separator.separator-content.border-primary::after,
.separator.separator-content.border-primary::before {
    border-color: #1b84ff !important
}

.separator.separator-content.border-secondary::after,
.separator.separator-content.border-secondary::before {
    border-color: #f1f1f4 !important
}

.separator.separator-content.border-success::after,
.separator.separator-content.border-success::before {
    border-color: #17c653 !important
}

.separator.separator-content.border-info::after,
.separator.separator-content.border-info::before {
    border-color: #7239ea !important
}

.separator.separator-content.border-warning::after,
.separator.separator-content.border-warning::before {
    border-color: #f6c000 !important
}

.separator.separator-content.border-danger::after,
.separator.separator-content.border-danger::before {
    border-color: #f8285a !important
}

.separator.separator-content.border-dark::after,
.separator.separator-content.border-dark::before {
    border-color: #1e2129 !important
}

.btn.btn-outline:not(.btn-outline-dashed) {
    color: var(--bs-text-gray-700);
    border: 1px solid var(--bs-gray-300);
}

.btn.btn-outline:not(.btn-outline-dashed).active {
    color: var(--bs-primary);
    border: 1px solid var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.table-wrap {
    overflow: auto;
}

.table-wrap table th,
.table-wrap table td {
    white-space: nowrap;
}

.squares {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}

.title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem;
}

.title.title_sm .title__name {
    font-size: .875rem;
    border-left: 3px solid var(--bs-primary);
}

.title__name {
    padding-left: .5rem;
    line-height: 1;
    font-size: 1rem;
    font-weight: bold;
    border-left: 4px solid var(--bs-primary);
}

.title__action {}

.cell {
    display: flex;
    padding: .5rem;
}

.cell__hd {}

.cell__bd {
    flex: 1;
}

.bg_light {
    --bs-bg-opacity: .6;
}

.pic {}

.performs {

    display: flex;
    margin: 4px 0;
    line-height: 1.8;
    text-align: center;
}

.performs-label {
    flex: 1;
    background-color: rgba(255, 255, 255, 1);
}

.performs-value {
    flex: 1;
    background-color: rgba(214, 241, 254, 1);
}

.card-site.card {
    --bs-card-spacer-y: .5rem;
    --bs-card-spacer-x: .5rem;
    --bs-card-cap-padding-y: .5rem;
    --bs-card-cap-padding-x: .5rem;
    --bs-card-cap-bg: rgba(59, 114, 241, .65);
    --bs-card-cap-color: #fff;
    --bs-card-bg: rgba(59, 114, 241, .2);
    --bs-card-border-color: var(--bs-card-cap-bg);
}

.btn-sm {
    --bs-btn-font-size: 0.75rem;
}

.org-tree {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.org-tree :deep(.v-treeview) {
    height: 100%;
    overflow: auto;
    padding: 8px;
}

:deep(.v-treeview-item) {
    min-height: 32px;
}

:deep(.v-treeview-item__label) {
    margin-left: 4px;
}

.search-field :deep(.v-field__input) {
    padding-top: 5px;
    padding-bottom: 5px;
}

.v-card {
    border-color: rgba(var(--v-border-color), var(--v-border-opacity));
    border-style: solid;
    border-width: 0;
}